negotiator.boaframework.acceptanceconditions.other
Class Multi_AcceptanceCondition

java.lang.Object
  extended by negotiator.boaframework.AcceptanceStrategy
      extended by negotiator.boaframework.acceptanceconditions.other.Multi_AcceptanceCondition
Direct Known Subclasses:
AC_MAC

public class Multi_AcceptanceCondition
extends AcceptanceStrategy

The MAC is a tool which allows to test many acceptance strategies in the same negotiation trace. Each AC generates an outcome, which is saved separately. Note that while this tool allows to test a large amount of AC's in the same trace, there is a computational cost. Therefore we recommend to use at most 50 AC's. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies T. Baarslag, K. Hindriks, M. Hendrikx, A. Dirkzwager, C.M. Jonker

Author:
Alex Dirkzwager

Field Summary
protected  java.util.ArrayList<AcceptanceStrategy> ACList
           
protected  java.util.ArrayList<OutcomeTuple> outcomes
           
 
Fields inherited from class negotiator.boaframework.AcceptanceStrategy
helper, negotiationSession, offeringStrategy, opponentModel
 
Constructor Summary
Multi_AcceptanceCondition()
          Empty constructor for the BOA framework.
 
Method Summary
 Actions determineAcceptability()
          The main method of the MAC.
 java.util.ArrayList<AcceptanceStrategy> getACList()
           
 java.util.ArrayList<OutcomeTuple> getOutcomes()
           
 void init(NegotiationSession negoSession, OfferingStrategy strat, OpponentModel opponentModel, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Standard initialize method to be called after using the empty constructor.
 boolean isMAC()
          Method which states if the current acceptance strategy is the Multi-Acceptance Strategy.
 java.lang.String printParameters()
           
 java.lang.String printParameters(AcceptanceStrategy a)
           
 void remainingAC(java.lang.String type)
           
 void remainingACAccept(Bid lastBid, double time, java.util.ArrayList<BidPointTime> fAgentABids, java.util.ArrayList<BidPointTime> fAgentBBids, java.lang.String acceptedBy)
           
 
Methods inherited from class negotiator.boaframework.AcceptanceStrategy
endSession, loadData, setOpponentUtilitySpace, storeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACList

protected java.util.ArrayList<AcceptanceStrategy> ACList

outcomes

protected java.util.ArrayList<OutcomeTuple> outcomes
Constructor Detail

Multi_AcceptanceCondition

public Multi_AcceptanceCondition()
Empty constructor for the BOA framework.

Method Detail

init

public void init(NegotiationSession negoSession,
                 OfferingStrategy strat,
                 OpponentModel opponentModel,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Description copied from class: AcceptanceStrategy
Standard initialize method to be called after using the empty constructor. Most of the time this method should be overridden for usage by the decoupled framework.

Overrides:
init in class AcceptanceStrategy
Parameters:
negoSession - state of the negotiation.
strat - of the agent.
parameters - of the acceptance strategy.
Throws:
java.lang.Exception - thrown when initializing the acceptance strategy fails.

determineAcceptability

public Actions determineAcceptability()
The main method of the MAC. This method ensures that every acceptance condition is checked, and that the outcome for each AC is saved.

Specified by:
determineAcceptability in class AcceptanceStrategy
Returns:
one of three possible actions: Actions.Accept, Actions.Reject, Actions.Break.

getOutcomes

public java.util.ArrayList<OutcomeTuple> getOutcomes()

getACList

public java.util.ArrayList<AcceptanceStrategy> getACList()

printParameters

public java.lang.String printParameters(AcceptanceStrategy a)

printParameters

public java.lang.String printParameters()
Overrides:
printParameters in class AcceptanceStrategy
Returns:
string representation of the parameters supplied to the model.

isMAC

public boolean isMAC()
Description copied from class: AcceptanceStrategy
Method which states if the current acceptance strategy is the Multi-Acceptance Strategy. This method should always return false, except for the MAC.

Overrides:
isMAC in class AcceptanceStrategy
Returns:
if AC is MAC.

remainingACAccept

public void remainingACAccept(Bid lastBid,
                              double time,
                              java.util.ArrayList<BidPointTime> fAgentABids,
                              java.util.ArrayList<BidPointTime> fAgentBBids,
                              java.lang.String acceptedBy)

remainingAC

public void remainingAC(java.lang.String type)